package com.ruoyi.datastatistics.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 电冻结数据（设备维度）对象 electricity_terminals_freeze_xb
 *
 * @author gdqt
 * @date 2025-03-10
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("electricity_terminals_freeze_xb")
public class ElectricityTerminalsFreezeXb extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 平台表单自增主键 */
    @TableId(value="id",type = IdType.AUTO)
    private Long id;

    /** 设备归属水司 */
    @Excel(name = "设备归属水司")
    @TableField("tenant_id")
    private String tenantId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @TableField("location_nb")
    private String locationNb;

    /** 厂家编号 */
    @Excel(name = "厂家编号")
    @TableField("supplier_id")
    private String supplierId;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @TableField("terminal_id")
    private String terminalId;

    /** 起始正向有功电能读数 */
    @Excel(name = "起始正向有功电能读数")
    @TableField("start_positive_active_energy")
    private BigDecimal startPositiveActiveEnergy;

    /** 结束正向有功电能读数 */
    @Excel(name = "结束正向有功电能读数")
    @TableField("end_positive_active_energy")
    private BigDecimal endPositiveActiveEnergy;

    /** 起始反向有功电能读数 */
    @Excel(name = "起始反向有功电能读数")
    @TableField("start_reverse_active_energy")
    private BigDecimal startReverseActiveEnergy;

    /** 结束反向有功电能读数 */
    @Excel(name = "结束反向有功电能读数")
    @TableField("end_reverse_active_energy")
    private BigDecimal endReverseActiveEnergy;

    /** 正向有功电能用量 */
    @Excel(name = "正向有功电能用量")
    @TableField("dosage_positive_active_energy")
    private BigDecimal dosagePositiveActiveEnergy;

    /** 反向有功电能用量 */
    @Excel(name = "反向有功电能用量")
    @TableField("dosage_reverse_active_energy")
    private BigDecimal dosageReverseActiveEnergy;

    /** 组合有功电能1用量 */
    @Excel(name = "组合有功电能1用量")
    @TableField("dosage_combination_active_energy_1")
    private BigDecimal dosageCombinationActiveEnergy1;
    /** 组合有功电能1用量 */
    @Excel(name = "组合有功电能1用量")
    @TableField("start_combination_active_energy_1")
    private BigDecimal startCombinationActiveEnergy1;

    /** 组合有功电能1用量 */
    @Excel(name = "组合有功电能1用量")
    @TableField("end_combination_active_energy_1")
    private BigDecimal endCombinationActiveEnergy1;

    /** 组合有功电能2用量 */
    @Excel(name = "组合有功电能2用量")
    @TableField("dosage_combination_active_energy_2")
    private BigDecimal dosageCombinationActiveEnergy2;

    /** 组合无功电能1用量 */
    @Excel(name = "组合无功电能1用量")
    @TableField("dosage_combination_idle_energy_1")
    private BigDecimal dosageCombinationIdleEnergy1;

    /** 组合无功电能2用量 */
    @Excel(name = "组合无功电能2用量")
    @TableField("dosage_combination_idle_energy_2")
    private BigDecimal dosageCombinationIdleEnergy2;

    /** 第一象无功总电能用量 */
    @Excel(name = "第一象无功总电能用量")
    @TableField("dosage_first_idle_energy")
    private BigDecimal dosageFirstIdleEnergy;

    /** 第二象无功总电能用量 */
    @Excel(name = "第二象无功总电能用量")
    @TableField("dosage_second_idle_energy")
    private BigDecimal dosageSecondIdleEnergy;

    /** 第三象无功总电能用量 */
    @Excel(name = "第三象无功总电能用量")
    @TableField("dosage_third_idle_energy")
    private BigDecimal dosageThirdIdleEnergy;

    /** 第四象无功总电能用量 */
    @Excel(name = "第四象无功总电能用量")
    @TableField("dosage_fourth_idle_energy")
    private BigDecimal dosageFourthIdleEnergy;

    /** a相正向有功电能用量 */
    @Excel(name = "a相正向有功电能用量")
    @TableField("dosage_a_positive_active_energy")
    private BigDecimal dosageAPositiveActiveEnergy;

    /** b相正向有功电能用量 */
    @Excel(name = "b相正向有功电能用量")
    @TableField("dosage_b_positive_active_energy")
    private BigDecimal dosageBPositiveActiveEnergy;

    /** c相正向有功电能用量 */
    @Excel(name = "c相正向有功电能用量")
    @TableField("dosage_c_positive_active_energy")
    private BigDecimal dosageCPositiveActiveEnergy;

    /** d相正向有功电能用量 */
    @Excel(name = "d相正向有功电能用量")
    @TableField("dosage_d_positive_active_energy")
    private BigDecimal dosageDPositiveActiveEnergy;

    /** 冻结类型，时：hour 日：day，月：month */
    @Excel(name = "冻结类型，时：hour 日：day，月：month")
    @TableField("frozen_type")
    private String frozenType;

    /** 冻结时间（日/月） */
    @Excel(name = "冻结时间", readConverterExp = "日=/月")
    @TableField("freeze_time")
    private String freezeTime;

    //环比
    @TableField(exist = false)
    private BigDecimal hb;

    //用户名称
    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private BigDecimal totalFlow;

    @TableField(exist = false)
    private String areaId;

    @TableField("frequency_type")
    private String frequencyType;

    /**
     * 起始抄表时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "起始抄表时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("start_reading_time")
    private Date startReadingTime;

    /**
     * 终止抄表时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "终止抄表时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("end_reading_time")
    private Date endReadingTime;

}
